package com.xbongbong.paas.model;

import com.xbongbong.paas.toolbox.wrap.IModel;
import com.xbongbong.pro.domain.entity.SearchCustomerUserEntity;

import java.util.List;
import java.util.Map;

/**
 * @Author shian
 * @create 2019-08-07 11:30
 * @Description
 */
public interface SearchCustomerUserModel extends IModel<SearchCustomerUserEntity> {
    /**
     * 根据条件查找搜客的权限管理
     * @param param
     * @return java.util.List<com.xbongbong.pro.domain.entity.SearchCustomerUserEntity>
     * @author 石安
     * @date 2019-08-07
     */
    @Override
    List<SearchCustomerUserEntity> findEntitys(Map<String, Object> param);

    /**
     *  批量插入数据
     * @param searchCustomerUserEntityList
     * @return void
     * @author 石安
     * @date 2019-08-08
     */
    void batchInsert(List<SearchCustomerUserEntity> searchCustomerUserEntityList);

    /**
     * 修改搜客管理员权限
     * @param entity
     * @return void
     * @author 石安
     * @date 2019-08-08
     */
    void updateAdmin(SearchCustomerUserEntity entity);

    /**
     * 修改搜客员工使用权限
     * @param entity
     * @return void
     * @author 石安
     * @date 2019-08-08
     */
    void updateStaff(SearchCustomerUserEntity entity);

    /**
     * 使用userId与corpid查找对象
     * @param userId
     * @param corpid
     * @return com.xbongbong.pro.domain.entity.SearchCustomerUserEntity
     * @author 石安
     * @date 2019-08-08
     */
    SearchCustomerUserEntity getByKey(String userId, String corpid);

    /**
     * 获取注册搜客的人数
     * @param param
     * @return int
     * @author 石安
     * @date 2019-09-16
     */
    int getRegisterCount(Map<String, Object> param);

    /**
     * 获取被解绑的用户（不是坐席）
     * @param param
     * @return java.util.List<com.xbongbong.pro.domain.entity.SearchCustomerUserEntity>
     * @author 石安
     * @date 2019-09-16
     */
    List<SearchCustomerUserEntity> getUnBindInfo(Map<String, Object> param);

    /**
     * 保存逻辑
     * @param searchCustomerUserEntity
     * @return void
     * @author 石安
     * @date 2019-12-30
     */
    void save(SearchCustomerUserEntity searchCustomerUserEntity);
}
